This invention relates to an input-code managing method and, more particularly, to a method for managing the input codes from the keyboard and the pointing device.
For computer system, there are a plurality of input devices with the typical ones being the keyboard and the pointing device. In order to save the space the input devices occupy and to reduce the overall manufacture cost, it has been successfully to incorporate those two input devices into one, and this resultant input device is commonly called "Hybrid keyboard" in the art. With the presently existing hybrid keyboards in the market, software incompatibility exists.
As shown in FIG. 1, a hybrid keyboard with brandname "HOME ROW" includes a keyboard 11 and a pointing device 12. The hybrid keyboard communicates with the keyboard controller 13 of the computer system through the signal line 10. The input data from the keyboard 11 or the pointing device 12 are received by the computer respectively when the INT 9H (14) and INT 16H (15) are called or when the INT 9H (14) and the INT 33H (16) are called. The input data or information to be retrieved by the INT 16H and the INT 33H are stored in the keyboard ring buffer 17 and the pointing device buffer 18 respectively by the service routine of the INT 9H. It is well known in the art, the INT 9H is the keyboard interrupt of the Basic Input/Output System (BIOS) of IBM compatible computer system, the INT 16H is provided to process the input from the keyboard and the INT 33H is provided to the application programs for retrieving the position and status of the mouse. The "HOME ROW" hybrid keyboard involves using a leading code to identify the input codes from the pointing device and emulating the input codes as a mouse code. Furthermore, the conventional service routine (keyboard handler) of INT 9H is modified to manage the inputs from the Hybrid keyboard, i.e., to manage the input codes from the keyboard 11 and the pointing device 12.
The aforesaid "HOME ROW" hybrid keyboard can be concluded with the following defects.
1. The conventional keyboard handler must be modified or adapted to manage the input codes from the pointing device 12, and, accordingly, the software incompatibility becomes the major problem.
2. Since a mouse code is emulated by the "HOME ROW" keyboard handler, a specific mouse driver provided by the HOW ROW keyboard maker shall be used. And the generally available mouse drivers in the market can not be used compatibly with the "HOW ROW" hybrid keyboard.
As shown in FIG. 2, a hybrid keyboard with brandname "LEXMARK" includes the pointing device 12 coupled mechanically with the keyboard 11. Through the signal lines 10, 20 respectively the keyboard 11 and the pointing device 12 are connected to the keyboard controller 13 of the computer system. The input data from the keyboard 11 or the pointing device 12 are received by the computer system respectively when the INT 9H (14) and INT 16H (15) are called or when the INT 74H (19) and the INT 33H (16) are called. The input data or information to be retrieved by the INT 16H and the INT 33H are stored in the keyboard ring buffer 17 and the pointing device buffer 18 respectively by the service routines of the INT 9H and the INT 74H. It is well known in the art, the INT 9H is the keyboard interrupt of the Basic Input/Output System (BIOS) of IBM compatible computer system, the INT 16H is provided to process the input from the keyboard 11, the INT 33H is provided to the application programs for retrieving the position and status of the mouse and the INT 74H is provided to the application programs for retrieving the position and status of the PS/2 mouse.
As a matter of fact, the LEXMARK hybrid keyboard is an integral input device with two independent input devices. Although the software incompatibility may be avoided under LEXMARK configuration, these two independent input devices must be connected to the keyboard controller 13 through separate signal lines 10, 20 which does not save space than the conventional approach and has no benefit on cost down of the overall manufacturing cost.